浏览器基础

浏览器标准模式和怪异模式之间的区别是什么?

  • 标准模式是指,浏览器按 W3C 标准解析执行代码;
  • 怪异模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以称之为怪异模式。
  • 浏览器解析时到底使用标准模式还是怪异模式,与你网页中的 DTD 声明直接相关,DTD 声明定义了标准文档的类型(标准模式解析)文型,会使浏览器使用相应的方式加载网页并显示,忽略 DTD 声明,将使网页进入怪异模式(quirks mode)。

介绍一下你对浏览器内核的理解?

主要分成两部分:渲染引擎(layout engineer 或 Rendering Engine)和 JS 引擎。

  • 渲染引擎:负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核
  • JS 引擎则:解析和执行 javascript 来实现网页的动态效果

最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。

各大浏览器内核:

  • chrome
    • 排版引擎 Blink
    • js 引擎 v8
  • Safari
    • 排版引擎 Webkit
  • IE
    • 排版引擎 Trident

什么是 WebKit

WebKit 是一个开源的浏览器内核,由渲染引擎(WebCore)和 JS 解释引擎(JSCore)组成

通常所说的 WebKit 指的是 WebKit(WebCore),主要工作是进行 HTML/CSS 渲染。WebKit 一直是 Safari 和 Chrome(之前) 使用的浏览器内核,后来 Chrome 改用 Blink 内核。

点击刷新按钮或者按 F5、按 Ctrl+F5 (强制刷新)、地址栏回车有什么区别?

  1. 点击刷新按钮或者按 F5: 浏览器直接对本地的缓存文件过期,但是会带上 If-Modifed-Since,If-None-Match,这就意味着服务器会对文件检查新鲜度,返回结果可能是 304,也有可能是 200。
  2. 用户按 Ctrl+F5(强制刷新): 浏览器不仅会对本地文件过期,而且不会带上 If-Modifed-Since,If-None-Match,相当于之前从来没有请求过,返回结果是 200。
  3. 地址栏回车: 浏览器发起请求,按照正常流程,本地检查是否过期,然后服务器检查新鲜度,最后返回内容。
Last Updated:
Contributors: yiliang114